package kr.hkit.powerjava.chapter09.submit;

import java.util.Random;
import java.util.Scanner;

class Lotto { 
	private int[][] arr;
	private static final int SIZE = 6;
	private Random rnd;
	private int r;

	public Lotto(int r) {  //생성자에서 초기화?? // 왜 해야하는가?
		arr = new int[r][Lotto.SIZE]; 
		rnd = new Random();
	}

	Scanner input = new Scanner(System.in);

	public void getLottoNum() {
		int num = -1;
		for (int i = 0; i < arr.length; i++)
			for (int j = 0; j < SIZE; j++) {
				num = getNum();
				if (isFind(num) == true) { // true면 다른 수 받아오기
					j--;
				} else {
					arr[i][j] = num;
				}
			}
	}

	public int getNum() {
		return rnd.nextInt(45) + 1; // +1하면 1~45까지
	}

	public boolean isFind(int searchNum) {

		boolean isEquals = false; 
		for (int i = 0; i < arr.length; i++)
			for (int j = 0; j < SIZE; j++) { //size해도 되고, 6으로 딱 안정했을 경우에는 열길이는 arr[i].length로 구할 수 있음
				if (searchNum == arr[i][j]) {
					isEquals = true; // 수식진행되면 true로 바뀜
					break;
				}
			}
		return isEquals;
	}

	public void getPrn() {
		for (int i = 0; i < arr.length; i++) {
			for (int j = 0; j < arr[i].length; j++) {
				System.out.printf("%3d", arr[i][j]);
			}
			System.out.print("\n");
		}
	}
}

public class LottoTest {
	public static void main(String[] args) {

		Scanner input = new Scanner(System.in);
		System.out.print("몇 개의 번호를 생성하시겠습니까?");
		int r = input.nextInt();

		Lotto lo = new Lotto(r);
		lo.getLottoNum();
		lo.getPrn();

	}
}
